/* -*- mode: c++; c-basic-offset: 4; indent-tabs-mode: nil; tab-width: 4 -*- */
/* vi: set expandtab shiftwidth=4 tabstop=4: */

#include <stdint.h>
#include "XorHashMacro.h"
/** \brief "deprecated" hash by Thomas Wang
 *
 * License: Public domain?
 */
class ThomasWangHash32_orig {
public:
    const char* name() const
    {
        return "ThomasWang_orig";
    }

    uint32_t hash32(uint32_t key) const
    {
        key += ~(key << 15);
        key ^=  (key >> 10);
        key +=  (key << 3);
        key ^=  (key >> 6);
        key += ~(key << 11);
        key ^=  (key >> 16);
        return key;
    }

    XORHASH

};
